package br.ifrn.diacin.ctrlAula.apresentacao.controller;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;

import br.ifrn.diacin.ctrlAula.apresentacao.funcoes.ActionsDelegate;
import br.ifrn.diacin.ctrlAula.integracao.model.Ambiente;
import br.ifrn.diacin.ctrlAula.integracao.model.Reserva;
import br.ifrn.diacin.ctrlAula.negocio.SolicitarReservaAmbienteLocal;


/**
 * Servlet implementation class VisualizarAmbienteServlet
 */
public class VisualizarAmbienteServlet extends GenericController {
	private static final long serialVersionUID = 1L;
       
	SolicitarReservaAmbienteLocal reservaAmbiente;
	
    public VisualizarAmbienteServlet() {
        super();
    }

	@Override
	protected String doPost() throws ServletException, IOException {
		String comando = request.getParameter("comando");
		if (comando.equals("listarAmbientes")) {
			List<Ambiente> lista = getReservaAmbiente().listarTodosAmbiente();
			render("ambientes", lista);
			return ("/selecionarDataLaboratorioVisualizar.jsp");
		} else if (comando.equals("verificarReservas")) {
			String id = request.getParameter("ambiente");
			String data = request.getParameter("data");
			int idAmbiente = Integer.parseInt(id);
			List<Reserva> horarios = getReservaAmbiente().todosHorarios(idAmbiente, data);
			render("horarios", horarios);
			render("ambiente", horarios.get(0).getAmbiente().getNome());
			render("ambienteId", horarios.get(0).getAmbiente().getId() );
			render("data", data);
			return ("/visualizarAmbienteCalendario.jsp");
		}
		return null;
	}
	
	private SolicitarReservaAmbienteLocal getReservaAmbiente() {
		return (reservaAmbiente == null ? ActionsDelegate.getReservaAmbiente() : reservaAmbiente);
	}

}
